Information-processing systems are tested several times over the course of their life cycle, starting with their initial design and being repeated every time the product is modified. Typical information-processing systems include personal and laptop computers, personal data assistants (PDAs), cellular phones, medical devices, washing machines, wrist watches, pagers, and automobile information displays. Because products today commonly go through a sizable number of revisions and because testing typically becomes more sophisticated over time, this task becomes a larger and larger proposition. Additionally, the testing of such information-processing systems is becoming more complex and time consuming because an information-processing system may run on many different platforms with many different configurations in many different languages. Because of this, the testing requirements in today's information-processing system development environment continue to grow exponentially.
For most organizations, testing is conducted by a test engineer who identifies defects by manually running the product through a defined series of steps and observing the result after each step. Because the series of steps is intended to both thoroughly exercise product functions as well as reexecute scenarios that have identified problems in the past, the testing process can be rather lengthy and time-consuming. Add on the multiplicity of tests that must be executed due to system size, platform and configuration requirements, and language requirements, testing has become a time consuming and extremely expensive process.
In today's economy, manufacturers of technology solutions are facing new competitive pressures that are forcing them to change the way they bring products to market. Now, being first-to-market with the latest technology is more important than ever before. But customers require that defects be uncovered and corrected before new products get to market. Additionally, there is pressure to improve profitability by cutting costs anywhere possible.
Product testing has become the focal point where these conflicting demands collide. Manual testing procedures, long viewed as the only way to uncover product defects, effectively delay delivery of new products to the market, and the expense involved puts tremendous pressure on profitability margins. Additionally, by their nature, manual testing procedures often fail to uncover all defects.
Automated testing of information-processing system products has begun replacing manual testing procedures. The benefits of test automation include reduced test personnel costs, better test coverage, and quicker time to market. However, an effective automated testing product often cannot be implemented. The most common reason for failure is the cost of creating and maintaining automated testing code.
The creation of test automation scripts requires a considerable amount of time and resources. The reusability of these scripts is necessary to fully realize the benefits of a test automation product. However, when, for example, a user interface is changed, with today's automated testing tools, all test scripts for the user interface may need to be rewritten. Additionally, if an information-processing system operates on multiple hardware or operating-system variants, each platform requires its own test script. Further, if a system-under-test is developed in multiple languages, automated test scripts need to be created for each language.
What is lacking in the prior art are automated testing systems and methods that allow for the reusability of automated test scripts taking into account multiple platforms, languages, and cosmetic changes to the system-under-test.
What is needed is an automated testing system and method that is reusable across platforms, handles multiple languages, and allows cosmetic changes to a system-under-test. Further, the automated testing system and method must reduce test personnel costs, provide better test coverage, reduce time to market, and decrease the creation and maintenance costs of automated test scripts.